Heroku 這類型的 PaSS 服務優點就是使用上非常簡單,只要 git push
以後就能完成自動化部署,並且在部署以後 Heroku 上還能看到運行狀態、Log 等等,但是 Heroku 這類型的服務也有缺點,就是價格不便宜,如果是個人開發者或是小型專案可能會覺得有點貴。
綜合前幾集所介紹的內容,包含 Docker、VPS(虛擬主機)、GitHub Action、Docker Compose 等等的技術,已經可以做到自動化部署,但是如果在部署後還需要一個 Web UI 來管理 Docker Compose,就是上一集所介紹的 Portainer,結合這些工具就能做到類似 Heroku 的服務。
雖然這個流程相較於直接使用 Heroku 來說多了很多步驟,但是這樣的流程也有它的優點,就是能可以完全掌握你的服務,並且可以自由的調整服務的規格,例如:Heroku 主機無法得知租用的規格等級,但 VPS 可以決定 CPU、RAM、硬碟等等的規格,而剩餘的資源也可以用來部署更多的服務,不像是 Heroku 一個專案就是一個服務,多個專案也意味著需要更多的費用。
影片:https://youtu.be/LJZ9YQOgu2w
範例程式碼:https://github.com/Wcc723/node-ironman-sample-2023/blob/feature/action-docker-compose/docker-compose.yml